// src/api/axiosInstance.ts
import axios from 'axios';

// 创建一个 axios 实例
const axiosInstance = axios.create({
  baseURL: 'http://localhost:8000/api',  // 替换为你的后端地址
  timeout: 10000,  // 可选：设置请求超时时间
});

// 在请求拦截器中，添加 Authorization header
axiosInstance.interceptors.request.use(
  (config) => {
    const token = localStorage.getItem('token'); // 获取 token
    if (token) {
      // 如果 token 存在，将它添加到请求头中
      config.headers['Authorization'] = `Bearer ${token}`;
    }
    return config;
  },
  (error) => {
    return Promise.reject(error);
  }
);

axiosInstance.interceptors.response.use(
    (response) => {
      // 可以在这里对响应数据做一些处理
      return response;
    },
    (error) => {
      // 如果是 token 过期错误（一般后端会返回 401 状态码）
      if (error.response && error.response.status === 401) {
        // 比如你可以清除 localStorage 中的 token，并跳转到登录页
        localStorage.removeItem('token');
        window.location.href = '/login';
      }
      return Promise.reject(error);
    }
  );

export default axiosInstance;
